<!DOCTYPE html>
<html>
  <head>
    <title>propUniline.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  
  <script type="text/javascript">
//检查控件的基本属性是否完整和有效
function CheckCtrlProp()
{
    var txtNameVal = jQuery.trim(jQuery("#txtName").val());//控件名称的值
    var txtFontSizeVal = jQuery.trim(jQuery("#txtFontSize").val());//字体大小的值
    var txtSizeVal = jQuery.trim(jQuery("#txtSize").val());//控件宽度的值
    var txtHeightVal = jQuery.trim(jQuery("#txtHeight").val());//控件高度的值
    var txtMaxVal = jQuery.trim(jQuery("#txtMax").val());//最多字符数的值
    var lenVal = jQuery.trim(jQuery("#len").val());//最小长度值
    var txtDataTypeVal = jQuery("#txtDataType").val();//数据类型的值
    var txtValueVal = jQuery.trim(jQuery("#txtValue").val());//初始值的值
    
    //验证控件名称是否为空
    if(txtNameVal == "")
    {
        alert("控件名称不能为空！");
       
        jQuery('#txtName').focus();
        return false;
    }
    
    //验证控件名称是否包含特殊字符
    if(valid_ctrl_name(txtNameVal) == false)
    {
        jQuery('#txtName').focus();
        return false;
    }
    
    //验证字体大小是否是数字
    if(isNaN(txtFontSizeVal))
    {
        alert("字体大小必须是数字");
         
        jQuery('#txtFontSize').focus();
        return false;
    }
    
    //验证控件宽度是否是数字
    if(isNaN(txtSizeVal))
    {
        alert("控件宽度必须是数字！");
        jQuery('#txtSize').focus();
        return false;
    }
    
    //验证控件高度是否是数字
    if(isNaN(txtHeightVal))
    {
        alert("控件高度必须是数字！");
        jQuery('#txtHeight').focus();
        return false;
    }
    
    //验证最多字符数是否是数字
    if(isNaN(txtMaxVal))
    {
        alert("最多字符数必须是数字！");
        jQuery('#txtMax').focus();
        return false;
    }
    
    //验证最小长度是否是数字
    if(isNaN(lenVal))
    {
        alert("最小长度必须是数字！");
        jQuery('#len').focus();
        return false;
    }
    
    //验证初始值是否是整型
    if(txtDataTypeVal == "int" && txtValueVal.search(/^-?\d*$/) != 0)
    {
        alert(" 初始值必须是整数！ ");
        jQuery('#txtValue').focus();
        return false;
    }
    
    //验证初始值是否是浮点型
    if(txtDataTypeVal == "float" && txtValueVal.search(/^-?(\d*\.)?\d*$/) != 0)
    {
        alert(" 初始值必须是浮点数！ ");
        jQuery('#txtValue').focus();
        return false;
    }
    
    //验证初始值是否是日期类型
    if(txtDataTypeVal == "date" && txtValueVal != '')
    {
        try
        {   
            var arrDate = txtValueVal.split(/[-,\/,\.]/);
        	var dateCheck = new Date(arrDate[0], arrDate[1], arrDate[2]);
        	if(dateCheck == 'Invalid Date' || dateCheck == 'NaN')
            {
                var e = new error();
                throw e;
            }
        }
        catch(e)
        {
			alert(" 初始值必须是日期！ ");
            jQuery('#txtValue').focus();
            return false;
        }
    }
    
    //验证初始值是否是电子邮件类型
    if(txtDataTypeVal == "email" && txtValueVal != '' && txtValueVal.search(/^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/) != 0)
    {
        alert(" 初始值必须是电子邮件地址！ ");
        jQuery('#txtValue').focus();
        return false;
    }
    
    //获取控件ID
    if(ctrl_id == '')
    {
        get_ctrl_id();
        if(ctrl_id == '')
        {
            alert(" 获取控件ID失败");
            return false;
        }
    }
    return true;
}
//生成控件的属性信息，用于编辑控件时更新控件的基本信息
function BuildCtrlProp()
{
    var txtNameVal = jQuery.trim(jQuery("#txtName").val()) ? jQuery.trim(jQuery("#txtName").val()) : '';
    var txtFontSizeVal = jQuery.trim(jQuery("#txtFontSize").val()) ? 'font-size:'+jQuery.trim(jQuery("#txtFontSize").val())+';' : '';
    var txtAlignVal = jQuery("#txtAlign").val() ? 'text-align:'+jQuery("#txtAlign").val()+';' : '';
    var txtAlignVal1 = jQuery("#txtAlign").val() ? jQuery("#txtAlign").val() : '';
    var txtSizeVal = jQuery.trim(jQuery("#txtSize").val()) ? 'width:'+jQuery.trim(jQuery("#txtSize").val())+';' : '';
    var txtHeightVal = jQuery.trim(jQuery("#txtHeight").val()) ? 'height:'+jQuery.trim(jQuery("#txtHeight").val())+';' : '';
    var txtMaxVal = jQuery.trim(jQuery("#txtMax").val()) ? jQuery.trim(jQuery("#txtMax").val()) : '';
    var lenVal = jQuery.trim(jQuery("#len").val()) ? 'len:'+jQuery.trim(jQuery("#len").val()) : '';
    var txtDataTypeVal = jQuery("#txtDataType").val() ? 'type:'+jQuery("#txtDataType").val()+';' : '';
    var txtValueVal = jQuery.trim(jQuery("#txtValue").val()) ? jQuery.trim(jQuery("#txtValue").val()) : '';
    var hiddenVal = (jQuery("#hidden").is(":checked")) ? 1 : 0;
   
    if(txtMaxVal == '' && lenVal == '' && txtDataTypeVal == '')
    {
        jQuery(activeElement).removeAttr('maxlength');
        jQuery(activeElement).removeAttr('validation');
        return {title: txtNameVal, style:txtFontSizeVal+txtAlignVal+txtSizeVal+txtHeightVal, align:txtAlignVal1, value:txtValueVal, hidden:hiddenVal};
    }
    else if(txtMaxVal == '' && (lenVal != '' || txtDataTypeVal != ''))
    {
        jQuery(activeElement).removeAttr('maxlength')
        return {title: txtNameVal, style:txtFontSizeVal+txtAlignVal+txtSizeVal+txtHeightVal, align:txtAlignVal1, value:txtValueVal, validation:txtDataTypeVal+lenVal, hidden:hiddenVal};
    }
    else if(txtMaxVal != '' && lenVal == '' && txtDataTypeVal == '')
    {
        jQuery(activeElement).removeAttr('validation');
        return {title: txtNameVal, style:txtFontSizeVal+txtAlignVal+txtSizeVal+txtHeightVal, maxlength:txtMaxVal, align:txtAlignVal1, value:txtValueVal, hidden:hiddenVal};
    }
    else
    {
        return {title: txtNameVal, style:txtFontSizeVal+txtAlignVal+txtSizeVal+txtHeightVal, maxlength:txtMaxVal, align:txtAlignVal1, value:txtValueVal, validation:txtDataTypeVal+lenVal, hidden:hiddenVal};
    } 
}
//生成控件的HTML代码
function BuildCtrlHTML()
{
    var txtNameVal = jQuery.trim(jQuery("#txtName").val());
    
    if(jQuery.trim(jQuery("#txtFontSize").val()) != "")
    {
        var txtFontSizeVal = "font-size:"+jQuery.trim(jQuery("#txtFontSize").val())+";";
    }
    else
    {
        var txtFontSizeVal = "";
    }
    
    if(jQuery.trim(jQuery("#txtSize").val()) != "")
    {
        var txtSizeVal = "width:"+jQuery.trim(jQuery("#txtSize").val())+";";
    }
    else
    {
        var txtSizeVal = "";
    }
    
    if(jQuery.trim(jQuery("#txtHeight").val()) != "")
    {
        var txtHeightVal = "height:"+jQuery.trim(jQuery("#txtHeight").val())+";";
    }
    else
    {
        var txtHeightVal = "";
    }
    
    if(jQuery.trim(jQuery("#txtMax").val()) != "")
    {
        var txtMaxVal = 'maxlength="'+jQuery.trim(jQuery("#txtMax").val())+'"';
    }
    else
    {
        var txtMaxVal = "";
    }
    
    if(jQuery.trim(jQuery("#txtValue").val()) != "")
    {
        var txtValueVal = 'value="'+jQuery.trim(jQuery("#txtValue").val())+'"';
    }
    else
    {
        var txtValueVal = "";
    }
    
    if(jQuery("#txtAlign").val() != "")
    {
        var txtAlignVal = 'align="'+jQuery("#txtAlign").val()+'"';
        var txtAlignVal1 = 'text-align:'+jQuery("#txtAlign").val()+';';
    }
    else
    {
        var txtAlignVal = "";
        var txtAlignVal1 = "";
    }
    
    if(jQuery("#txtDataType").val() != "" || jQuery.trim(jQuery("#len").val()) != "")
    {
        var txtDataTypeVal = 'type:'+jQuery("#txtDataType").val()+';';
        var lenVal = 'len:'+jQuery.trim(jQuery("#len").val());
        var validationVal = 'validation="'+txtDataTypeVal+lenVal+'"';
    }
    else
    {   
        var validationVal = "";
    }
    
    var hiddenVal = jQuery("#hidden").is(":checked");
    var displayVal = (hiddenVal == true) ? "1" : "0";
    
    return '<input type="text" name="DATA_'+ctrl_id+'" '+txtAlignVal+' '+txtValueVal+' hidden="'+displayVal+'" title="'+txtNameVal+'" '+txtMaxVal+' style="'+txtFontSizeVal+txtSizeVal+txtHeightVal+txtAlignVal1+'" '+validationVal+'>';
}

//加载编辑器中被选中的控件信息，并初始化到当前页面
function InitCtrlProp(el)
{
    if(!el)
    {
        return;
    }
    
    var ctrlType = jQuery(el).attr('type');
    var ctrlClass = jQuery(el).attr('class');
    
    if(ctrlClass)
    {
        if(ctrlClass.toLowerCase() != 'text')
        {
            return;
        }
    }
    
    if(ctrlType)
    {
        if(ctrlType.toLowerCase() != 'text')
        {
            return;
        }
    }
    else
    {
        if(ctrlType != undefined)
        {
            return;
        }
    }
    var name = jQuery(el).attr('name');//控件ID
    var title = jQuery(el).attr('title');//控件名称
    var align = jQuery(el).attr('align');//对齐方式
    var valueInitial = jQuery(el).val();//初始值
    var maxlength = jQuery(el).attr('maxlength');//最多字符数
    var style = jQuery(el).attr('style');

    if(style)
    {
        style = style.substring(0, style.length-1);
        var arrs = new Array();
        arrs = style.split(";");
        for(i=0; i<arrs.length; i++)
        {   
            var obj = arrs[i];
            var chat = obj.indexOf(':');
            if(chat != -1)
            {
                var objLength = obj.length;
                var styleType = obj.substring(0, chat);
                var value = obj.substring(chat+1, objLength);
                if(value.indexOf('') != -1)
                {
                    value = value.replace('', '');
                }
                else if(value.indexOf('p') != -1)
                {
                    value = value.replace('p', '');
                }
            }
            if(jQuery.trim(styleType).toLowerCase() == "width")
            {
                jQuery("#txtSize").val(jQuery.trim(value));
            }
            else if(jQuery.trim(styleType).toLowerCase() == "height")
            {   
                jQuery("#txtHeight").val(jQuery.trim(value));
            }
            else if(jQuery.trim(styleType).toLowerCase() == "font-size")
            {
                jQuery("#txtFontSize").val(jQuery.trim(value));
            }
        }
    }
    var hidden = el.getAttribute('hidden');//隐藏
    var validation = jQuery(el).attr('validation');
    
    if(validation)
    {
        var arr = new Array();
        var arr1 = new Array();
        arr = validation.split(";");
        for(i=0; i<arr.length; i++)
        {
            arr1[i] = arr[i].split(":");
        }

        if(arr1.length == 2)
        {
            jQuery("#txtDataType").val(arr1[0][1]);
            jQuery("#len").val(arr1[1][1]);
        }
        else if(arr1.length == 1)
        {
            jQuery("#len").val(arr1[0][1]);
        }
    }
    
    ctrl_id = name.substr(name.lastIndexOf('_') + 1);
    jQuery("#txtName").val(title);
    jQuery("#txtAlign").val(align);
    jQuery("#txtValue").val(valueInitial);
    jQuery("#txtMax").val(maxlength);
    
    if(hidden != 1)
    {
        jQuery("#hidden").removeAttr("checked");
    }
    else
    {
        jQuery("#hidden").prop("checked",true);
    }
}
</script>
<body>

<table class="layout" width="100%" style="height: 100%">
	<tr>
		<td>
			<table cellspacing="3" cellpadding="0" border="0">
				<tr>
					<td colspan="3">
						<span fcklang="DlgTextName">控件名称</span><br />
						<input id="txtName" type="text" style="width:100%;" size="10" />
					</td>
                </tr>
                <tr>
					<td>
						<span fcklang="DlgImgAlign">对齐方式</span><br />
						<select id="txtAlign">
							<option value="left" fcklang="DlgTableAlignLeft">左对齐</option>
							<option value="center" fcklang="DlgTableAlignCenter">居中</option>
							<option value="right" fcklang="DlgTableAlignRight">右对齐</option>
						</select>
					</td>
                    <td width="20%">&nbsp;</td>
                    <td>
						<span fcklang="DlgTextSize">字体大小</span><br />
						<input id="txtFontSize" type="text" size="10" style="width:80%"/> 
					</td>
				</tr>
				<tr>
					<td>
						<span fcklang="DlgTextMaxChars">最多字符数</span><br />
						<input id="txtMax" type="text" size="10" />
					</td>
                    <td width="20%">&nbsp;</td>
                    <td>
						输入框宽度<br />
						<input id="txtSize" type="text" size="10" style="width:80%"/> 
					</td>
				</tr>
				<tr>
					<td>
						输入框宽度<br />
						<input id="txtHeight" type="text" size="10" style="width:80%"> 
					</td>
                    <td width="20%">&nbsp;</td>
                    <td>数据类型<br />
                        <select id="txtDataType">
                            <option value=""></option>
                            <option value="int">整型</option>
                            <option value="float">浮点型</option>
                            <option value="date">日期型</option>
                            <option value="email">电子邮件</option>
                        </select>
                    </td>
				</tr>
                <tr>
					<td>
						<span>最小长度</span><br />
						<input id="len" type="text" style="width:100%" />
					</td>
                    <td width="20%">&nbsp;</td>
                    <td>
						<span fcklang="DlgTextValue">初始值</span><br />
						<input id="txtValue" type="text" style="width:100%" />
					</td>
				</tr>
				<tr>
					<td>
						<span>隐藏</span><br />
						<input id="hidden" type="checkbox" />
					</td>
				</tr>				
			</table>
		</td>
	</tr>
</table>
</body>
</html>
